var FHbillID=0;  //发货单主表主键
var BarCode=0;   //打卷细码单编号
var lastBarCode=0;   //第一次打开页面时获取微信端选择了确定，但没有上车数据的细码单号
var parameter = getRequest();
var openid = parameter['openid'];//参数名

var bpgg;
var ylgg;
var pm;
var pc;

//初始化
$(function () {

    console.log('FH:  '+ openid);

    getlastFHQty();
    
    getdropdownData();

    //获取有库存的规格数据
    getggDetail();


    //网格的单击事件
    $('#detail01').datagrid({
    //单击事件   
        onClickRow:function(rowIndex,rowData){
            var currentRow = $("#detail01").datagrid("getSelected");//获得选中行的信息
                 bpgg=currentRow.b_firstgg;
                 ylgg=currentRow.b_ylgg;
                 pm=currentRow.b_pinming;
                 pc=currentRow.b_batch;
                getbarcodedetail(bpgg,ylgg,pm,pc);
        },
    //双击事件
    //     onDblClickRow :function(rowIndex,rowData){
    //         console.log("双击");
    //     }
    });


    //获取已发汇总的数据  第三个网格
    GetintoCaoDetail();



});

//查询  2021-4-16 08:57:17 OK
function getquery() {
    // openplanrkdetail($("#kh").textbox('getValue'));
    getggDetail();
}

//获取规格数据 并初始化全局变量品名、规格的值   2021-4-16 08:57:17 OK
function getggDetail() {

    $.ajax({
        url: strLin + '/spc/gg',   /* usp_getnotfhgg */
        type: 'get',
        dataType: 'json',
        success: function (cData) {
            let data = cData.data;
            $('#detail01').datagrid('loadData', data);
            console.log(data);

            bpgg='';ylgg='';pm='';

        }, complete: function (XMLHttpRequest, textStatus) {
            console.log("进入到getggDetail 执行完毕");
        }

    })
}


//根据 原料规格、白坯规格、品名 获取对应的打卷数和计划信息  2021-4-16 08:57:17 OK
function getbarcodedetail(gg1,gg2,pm,pc) {
    if (gg1==undefined){gg1=''};
    if (gg2==undefined){gg2=''};
    if (pm==undefined){pm=''};
    if (pc==undefined){pc=''};


    var str={"gg1":gg1,"gg2":gg2,"goodsname":pm,"pc":pc};
    console.log(str);

    $.ajax({

        // usp_getJRKDetail_gg  该链接执行的存储过程 三个参数
        // url: strLin+'/jrk/invgg',

        url: strLin+'/jrk/invgg4',
        type: 'POST',
        dataType: 'json',
        data: JSON.stringify(str),
        contentType: "application/json;charset=UTF-8",
        success: function (cData) {
            let data = cData.data;
            $('#detail02').datagrid('loadData', data);
            console.log(data);

        }, complete: function (XMLHttpRequest, textStatus) {
            console.log("进入到complete");
        }

    })
}



//获取选中行数据  上车 2021-4-16 08:57:17 OK
function intocar() {

    var checkedItems = $('#detail02').datagrid('getChecked');
    var jrkdetail = [];
    var ps=0;
    var qty=0;
    var planID;

    $.each(checkedItems, function(index, item){
        jrkdetail.push(item.B_ItemID);
        ps++;
        qty=qty + item.B_GJ;
        planID=item.B_ID;
    });

    if (ps==0){
        return;
    }

    if (FHbillID>0){

        var str= {"main":{"iD":FHbillID,"openid":openid},
                  "details":[{"fhDetail":{"pS":ps,"qty":qty,"pinMing":pm,"menFu":bpgg,"ylgg":ylgg,
                    "xMbarCode":BarCode,"jHDid":planID},
                "jrkPKs":jrkdetail}],"account":openid};
        // console.log(str1);
        $.ajax({
            url: strLin + '/fh/pcIntoCard',
            type: 'post',
            dataType: 'json',
            data: JSON.stringify(str),
            contentType: "application/json;charset=UTF-8",
            success: function (data) {
                BarCode=0;
                GetintoCaoDetail(); //3
                getggDetail; //1
                getbarcodedetail(bpgg,ylgg,pm,pc); //2
            }
        });

    }else{
        var str1= {"details":[{"fhDetail":{"pS":ps,"qty":qty,"pinMing":pm,"menFu":bpgg,"ylgg":ylgg,
                    "xMbarCode":BarCode,"jHDid":planID},
                "jrkPKs":jrkdetail}],"account":openid};
        // console.log(str1);
        $.ajax({
            url: strLin + '/fh/pcIntoCard',
            type: 'post',
            dataType: 'json',
            data: JSON.stringify(str1),
            contentType: "application/json;charset=UTF-8",
            success: function (data) {
                BarCode=0;
                GetintoCaoDetail(); //3
                getggDetail; //1
                getbarcodedetail(bpgg,ylgg,pm,pc); //2
            }
        });
    }

}

//获取已发汇总的数据  第三个网格   2021-4-16 08:57:54 OK
function GetintoCaoDetail() {
    console.log(strLin+'/fh/intoCarDetail/' + openid +'/'+ 1);
    $.ajax({
        url: strLin+'/fh/intoCarDetail/' + openid +'/'+ 1,
        // + "call usp_GetIntoCarDetail('" + openid + "','" + JudgeMa + "')",
        type: 'get',
        dataType: 'json',
        success: function (data) {
            if (data.data.length>0) {
                console.log(data.data[0].id);
                FHbillID = data.data[0].id;
                $('#detail03').datagrid('loadData', data.data);
                console.log("草稿表主键：" + FHbillID)
            }else{
                var NullData=[];
                FHbillID = 0;
                $('#detail03').datagrid('loadData', NullData);
                console.log("请求返回为空时草稿表主键：" + FHbillID)
            }
        }, complete: function (XMLHttpRequest, textStatus) {
            // console.log("进入到complete");
        }

    })
}


//删除已发货汇总中的某一行数据 并恢复对应的库存数  删除第三个网格数据  2021-4-16 15:09:27   OK
function DeleteFHdetail() {
    $.messager.defaults = {ok: "确定", cancel: "取消", width: 250, closable: false};
    $.messager.confirm('确认', '您确认要删除当前选中的已发货数据吗？ ', function (r) {
        if (r) {
            var currentRow = $("#detail03").datagrid("getSelected");//获得选中行的信息
            if (currentRow != undefined) {

                $.ajax({
                    url: strLin+'/incar/deleteone/' + currentRow.itemid,
                    type: 'DELETE',
                    dataType: 'json',
                    success: function (data) {
                        GetintoCaoDetail();  //3
                        getggDetail();   //1
                        getbarcodedetail('999','999','999',"999");
                    }
                });
            } else {
                $.messager.alert('确认', '当前没有选中数据!');
                return;
            }
        }
    })
}



//规格发货 整单发货上车
function getintocarAll() {
    $.messager.defaults = {ok: "确定", cancel: "取消", width: 250, closable: false};
    $.messager.confirm('确认', '确定整单选择发货上车？ ', function (r) {
        if (r) {

            var str={"bpgg":bpgg,"ylgg":ylgg,"pinming":pm,"openid":openid,"billid":FHbillID};

            $.ajax({
                // usp_GetIntoCarAll_gg

                url: strLin+'/fh/intoCarAllGG',
                type: 'POST',
                dataType: 'json',
                data: JSON.stringify(str),
                contentType: "application/json;charset=UTF-8",
                success: function (data) {
                    console.log(data.data.id);
                    FHbillID=data.data.id;
                    GetintoCaoDetail();  //3
                    getggDetail();   //1
                    getbarcodedetail('999','999','999',"999");

                }, complete: function (XMLHttpRequest, textStatus) {}

            })
        }
    })
}


//生成发货单
function generateFHD01(){

    var clientname=$('#clien02').val().toString();
    var rcname=$('#rc').val().toString();
    if (clientname.length>0){
        if (rcname.length>0){
            $.messager.defaults = {ok: "确定", cancel: "取消", width: 250, closable: false};
            $.messager.confirm('确认', '您确认要生成发货单吗？ ', function (r) {
                if (r) {
                    generateFHD()
                }
            })

        }else{
            $.messager.alert('确认','未选择染厂，不允许生成发货单!');
            return;
        }
    }else{
        $.messager.alert('确认','未选择客户，不允许生成发货单!');
        return;
    }

}

//生成发货单 ok
function generateFHD() {

    var clientname=$('#clien02').val().toString();
    var rcname=$('#rc').val().toString();
    var Fma=false;  //判断是分码还是并码

    if (clientname.length>0){
        if (rcname.length>0){

            // if (JudgeMa==1){Fma=true}else{Fma=false};   //2021年4月13日 10:27:52注释

            var carnumber = $("#carnumber").textbox('getValue');
            var driver = $("#driver").textbox('getValue');
            var phone = $("#phone").textbox('getValue');
            var dz = $("#dz").textbox('getValue');
            var zxg = $("#zxg").textbox('getValue');
            var broker = $("#broker").textbox('getValue');

            var StrSQL={mainId:FHbillID,clientName:clientname,dyeName:rcname,dist:Fma,
                number_plates:carnumber,driver:driver,phone:phone,
                delivery_address:dz,stevedore:zxg,broker:broker};

            console.log(StrSQL);

            $.ajax({
                url: strLin+'/incar/deli',
                type: 'POST',
                dataType: 'json',
                data: JSON.stringify(StrSQL),
                contentType: "application/json;charset=UTF-8",
                success: function (data) {

                    window.parent.addTab('打印发货单', 'printfhd.html?id=' + FHbillID);

                    BarCode=0;
                    GetintoCaoDetail();  //3
                    getggDetail();   //1
                    getbarcodedetail('999','999','999','999');

                    $("#clien02").combobox('setValue', "");
                    $("#rc").combobox('setValue', "");
                    $("#carnumber").textbox('setValue', "");
                    $("#driver").textbox('setValue', "");
                    $("#phone").textbox('setValue', "");
                    $("#dz").textbox('setValue', "");
                    $("#zxg").textbox('setValue', "");
                    $("#broker").textbox('setValue', "");



                }, complete: function (XMLHttpRequest, textStatus) {
                    console.log("生成发货单执行完毕！");
                }

            })
            // }
            // })


        }else{
            $.messager.alert('确认','未选择染厂，不允许生成发货单!');
            return;
        }
    }else{
        $.messager.alert('确认','未选择客户，不允许生成发货单!');
        return;
    }

}


/***************************************************************************/

//获取最后一笔发货数据 (第一次打开软件时候调用)  ok
function getlastFHQty() {

    console.log('获取最后一笔发货数据 (第一次打开软件时候调用)');

    $.ajax({
        url: strLin+'/fh/last/' +openid,
        type: 'get',
        dataType: 'json',
        success: function (cdata) {
            let data=cdata.data;
            console.log(data);
            if (data) {

                //第一次打开软件时如果有选择了发货   但未选择上车的数据  自动显示出来
                lastBarCode=data.barcode;
                getPending(lastBarCode);

            }else{

            }
        }, complete: function (XMLHttpRequest, textStatus) {
            console.log("getlastFHQty 执行完毕!");
        }

    })

}

//打开待处理数据 (即微信端选择了确定，单未上车的数据)
function getPending(barcode) {

console.log(strLin+'/fh/getXMD/'+ openid  );
    $.ajax({
        url:  strLin+'/fh/getXMD/'+ openid ,
        type: 'get',
        dataType: 'json',
        success: function (cData) {
            let data=cData.data;
            console.log(data);
            $('#intoCardetail').datagrid('loadData', data);
            // setTimeout("getsum04()","1000");

        }, complete: function (XMLHttpRequest, textStatus) {
            console.log("进入到getNoCarDetail");
        }
    });



}

//待处理上车 OK
function getPendingintocar() {
    if (lastBarCode>0){
        $.messager.defaults = {ok: "确定", cancel: "取消", width: 250, closable: false};
        $.messager.confirm('确认', '确定选择上车？ ', function (r) {
            if (r) {
                $.ajax({
                    url: strLin+'/fh/intoCar/'
                        + lastBarCode + '/' + openid + '/' + FHbillID,
                    type: 'get',
                    dataType: 'json',
                    success: function (cdata) {
                        let data=cdata.data;
                        console.log(data.id);
                        FHbillID=data.id;
                        $('#E').window('close');
                        var nullData=[];
                        $('#intoCardetail').datagrid('loadData', nullData);

                        GetintoCaoDetail();

                    }, complete: function (XMLHttpRequest, textStatus) {
                        console.log("上车 getintocar 执行完毕！");
                    }

                })
            }
        })

    }else{
        $.messager.alert('确认','当前没有已确定发货数据!');
        return;
    }

}

/*******************************************************************/

//设置下拉选择
function getdropdownData() {
    //设置客户下拉
    $.ajax({
        url: strLin + '/client/all',
        type: 'get',
        dataType: 'json',
        success: function (cdata) {
            $('#clien02').combobox({
                valueField: 'b_ClientName',
                textField: 'b_ClientName',
                data:cdata.data
            });
        }
    });
    //设置品名下拉
    $.ajax({
        url: strLin + '/dye/all',
        type: 'get',
        dataType: 'json',
        success: function (cdata) {
            $('#rc').combobox({
                valueField: 'dyename',
                textField: 'dyename',
                data:cdata.data
            });
        }
    });

}

//关闭当前标签页事件
function closeTab() {
    window.parent.closeTab();
}

//关闭待处理模态窗
function closeE() {
    $('#E').window('close');
    // var nullData=[];
    // $('#intoCardetail').datagrid('loadData', nullData);
}

//打开待处理模态窗
function openE() {
    $('#E').window('open');
    // var nullData=[];
    // $('#intoCardetail').datagrid('loadData', nullData);
}

/***********************************************************************************/

//获取浏览器地址参数
function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg);  //匹配目标参数
    if (r != null) return unescape(r[2]);
    return null; //返回参数值
}

//获取浏览器地址参数（参数为中文）
function getRequest() {
    var url = window.location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for(var i = 0; i < strs.length; i ++) {
            //就是这句的问题
            theRequest[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]);
            //之前用了unescape()
            //才会出现乱码
        }
    }
    return theRequest;
}

